[//
    async function( kuo,Context,context){
        Context.headers["content-type"] = 'application/json;charset=UTF-8';
        let $THIS =  this;
        let $features = await Kuoplus(kuo.class);
        let $LANG = this.LANG();
        let $DATA = Object.assign({},this.$DATA);
        let $_POST = kuo.post;
        let $_GET = kuo.get;
        let $mailbox  =  $_POST['mailbox']?$_POST['mailbox']: "";
        let $password =  $_POST['password'] ?$_POST['password']:"";
        let $code     =  ""+($_POST['code'] ?$_POST['code']:"");
        let $fcode    =  $_POST['fcode'] ?$_POST['fcode']: "";
        let $USER = null;
        let $Security = await Mem.Get("session/"+kuo.sessionid);
        let $codeoff  = 0; //验证码开关
        let $chauid = 0; //用户id
        let $KJBIAO = "REG"; //标记是否是快捷注册
        if($Security && $Security["uid"]){
            $chauid = $Security["uid"];
        }
        if(!$Security ){
            $Security={
                uid:0,
                code:0,
                tuid:0
            };
        }

        if(!$THIS.Ismail($mailbox) ){
            $DATA.code = -1;
            $DATA.msg = $LANG.mailbox_error;
            Context.body = JSON.stringify($DATA);
            return ;
        }

        if(strlen($password ) < 6 || strlen($password ) > 64){
            $DATA.code = -1;$DATA.msg = $LANG.password_error; Context.body = JSON.stringify($DATA);
            return ;
        }

        if($features['configure']['mailbox验证码'] && $features['configure']['mailbox验证码']['0']){
            $codeoff = $features['configure']['mailbox验证码']['0'];
        }

        if($codeoff > 0){
            if( $code =='' || !$Security || $code != $Security['code']){
                $DATA.code = -1; $DATA.msg = $LANG.vcode_error; Context.body = JSON.stringify($DATA);
                return ;
            }
        }
        let ipci = await Mem.Get("security/"+kuo.ip);
        if( ipci > $THIS.$Securitynum){
            $DATA.code = -1;$DATA.msg = $LANG.mailbox_no; Context.body = JSON.stringify($DATA);
            return ;
        }
        let $GetCode = await $THIS.GetCode($mailbox);
        if(!$GetCode){
            $DATA.code = -1; $DATA.msg = $LANG.fasong_code; Context.body = JSON.stringify($DATA);
            return ;
        }

        if($GetCode != $fcode){
            await Mem.Add("security/"+kuo.ip,1, $THIS.$Securitytime);
            $DATA.code = -1; $DATA.msg = $LANG.code_error; Context.body = JSON.stringify($DATA);
            return ;
        }
        let $db = await db("login_mailbox");
        let $user = await $db.Where( {'mailbox':$mailbox } ).Find();
        if(!$user){
            await Mem.Add("security/"+kuo.ip,1, $THIS.$Securitytime);
            $DATA.code = -1;
            $DATA.msg = $LANG.mailbox_no;
            Context.body = JSON.stringify($DATA);
            return ;
        }
        if($user['password'] == Kuomm( $password ) ){
            $DATA.code = -1; $DATA.msg = $LANG.password_ok; Context.body = JSON.stringify($DATA);
            return ;
        }
        Mem.Del("security/"+kuo.ip);
        $THIS.DelCode($mailbox);
        let $fan = await $db.Where( {'mailbox': $mailbox }).Update( {'password': Kuomm($password)} );
        if(!$fan){
            $DATA.code = -1;
            $DATA.msg = $LANG.password_upno;
            Context.body = JSON.stringify($DATA);
            return ;
        }
        await Kuolog('userlog',$user['uid'],3, { 'yuan':$user['password'],'data':Kuomm($password) },kuo.func_,kuo.class,kuo.ip);
        $DATA.code = 1;
        $DATA.msg = $LANG.password_upok;
        Context.body = JSON.stringify($DATA);
    } 
]